@echo off
chcp 65001 >nul
echo ========================================
echo 重新生成鸿蒙应用签名文件 v1.0
echo ========================================
echo.

echo [1/5] 检查项目结构...
if not exist "entry\src\main\module.json5" (
    echo 错误：未找到 module.json5 文件
    pause
    exit /b 1
)

echo [2/5] 备份现有签名文件...
if exist "entry\signature\debug" (
    echo 备份 debug 签名目录...
    if exist "entry\signature\debug_backup" rd /s /q "entry\signature\debug_backup"
    move "entry\signature\debug" "entry\signature\debug_backup"
)

echo [3/5] 清理构建缓存...
if exist "entry\build" rd /s /q "entry\build"
if exist "build" rd /s /q "build"
if exist "out" rd /s /q "out"

echo [4/5] 重新生成签名文件...
echo 正在生成新的调试签名文件...
echo 这可能需要几分钟时间，请耐心等待...

REM 使用 DevEco Studio 的签名工具重新生成
set "DEVECO_PATH=D:\DEV\DevEco Studio"
set "SIGN_TOOL=%DEVECO_PATH%\sdk\default\openharmony\toolchains\signature_tool.exe"

if exist "%SIGN_TOOL%" (
    echo 使用签名工具：%SIGN_TOOL%
    "%SIGN_TOOL%" --mode debug --key-alias debugKey --key-passwd 00000018A7F75AC2 --store-file debug.keystore --store-passwd 00000018A7F75AC2 --profile debug.p7b --in-file entry\src\main\module.json5 --out-file entry\signature\debug\module.p7b
) else (
    echo 警告：未找到签名工具，将使用默认签名
)

echo [5/5] 验证签名文件...
if exist "entry\signature\debug\module.p7b" (
    echo ✓ 签名文件生成成功
) else (
    echo ✗ 签名文件生成失败，将使用默认签名
)

echo.
echo ========================================
echo 签名重新生成完成！
echo ========================================
echo.
echo 现在请执行以下操作：
echo 1. 在 DevEco Studio 中执行 Build -> Clean Project
echo 2. 重新编译项目（Build -> Build Hap(s)/APP(s)）
echo 3. 重新安装应用到模拟器/真机
echo.
echo 如果还有问题，请尝试：
echo - 重启 DevEco Studio
echo - 重启模拟器
echo - 检查模拟器是否支持当前 API 版本
echo.
pause 